from pyppeteer import launch

import asyncio


async def main():
    browser = await launch()
    page = await browser.newPage()
    await page.goto('https://dynamic2.scrape.center/')
    await page.waitForSelector('.item .name')
    j_result1 = await page.J('.item .name')
    j_result2 = await page.querySelector('.item .name .m-b-sm')
    jj_result1 = await page.JJ('.item .name')
    jj_result2 = await page.querySelectorAll('.item .name .m-b-sm')
    print('J Result1:', j_result1)
    print('J Result2:', j_result2)
    print('JJ Result1:', jj_result1)
    print('JJ Result2:', jj_result2)
    await browser.close()


asyncio.get_event_loop().run_until_complete(main())

"""
waitFor：通用的等待方法。
waitForSelector：等待符合选择器的节点加载出来。
waitForXPath：等待符合 XPath 的节点加载出来。
waitForFunction：等待某个 JavaScript 方法执行完毕或返回结果。
waitForNavigation：等待页面跳转，如果没加载出来就会报错。
waitForRequest：等待某个特定的请求被发出。
waitForResponse：等待某个特定的请求收到了回应。
"""
